home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / bbs / g3wcs206 / sysop.doc < prev   
Text File  |  1992-09-18  |  18KB  |  393 lines

  1.  
  2.                     SERVER PROGRAMS (VERSION 2) FOR FBB SOFTWARE
  3.                     ============================================
  4.  
  5.                               FOR FBB V 5.14D AND LATER
  6.                               =========================
  7.  
  8.                              WRITTEN BY KEN WOOD (G3WCS)
  9.                              ===========================
  10.  
  11.  
  12.        OVERVIEW
  13.        ========
  14.        This  SysOp  document  describes my VERSION 2 REQDIR, REQFIL and FNDFIL
  15.        server programs, which are designed to work  with  F6FBB  BBS  software
  16.        version  5.14d and later.  Various changes made in FBB 5.14d, which are
  17.        described later, mean that these servers will not run with earlier  FBB
  18.        versions,  nor  will  they  work  with  BBS  software  written by other
  19.        authors.
  20.  
  21.        Those  wishing  to  run  FBB  prior to 5.14d should use my version 1.08
  22.        servers, which are still available.
  23.  
  24.        The REQDIR and REQFIL servers operate in  a  similar  manner  to  other
  25.        servers  bearing  the  same name.  However, there are advanced features
  26.        which will be described later.  The FNDFIL server has  the  ability  to
  27.        read  all  files in a specified directory and return the names of files
  28.        containing a certain search string.  For example,  a  directory  called
  29.        C:\MODS\ASCII could be scanned for files containing the string TS830S.
  30.  
  31.        In view of the fact that these servers provide extended facilities, the
  32.        setting up is more complex than before.  Please read and refer to these
  33.        instructions  during  installation.   By  far the majority of "problem"
  34.        calls I receive are due to people setting up my servers either with  no
  35.        documentation or with out of date information from a previous release.
  36.  
  37.  
  38.        OPERATION
  39.        =========
  40.        These servers rely on a number of  actions  which  automatically  occur
  41.        when  F6FBB  software is running.  Please note at this point that these
  42.        servers function in a different manner to my previous (V1.nn) programs.
  43.        A section detailing conversion is contained later on.
  44.  
  45.        When  a message addressed to one of the servers is received by the BBS,
  46.        it is automatically exported to a small disk file.   Immediately  after
  47.        that the server program is called by the BBS.  The server program reads
  48.        the  exported  file  and  performs  whatever actions are required.  The
  49.        result is formulated into a specially formatted message and appended to
  50.        a file called MAIL.IN.  The very  next  minute,  the  FBB  BBS  imports
  51.        MAIL.IN and this becomes the reply message(s) to the user.
  52.  
  53.        One  important  fact  to be aware of is that MAIL.IN cannot be imported
  54.        whilst  you  are  connected  to  the  local  console  (F2).   You  must
  55.        disconnect  from  the  console  by  entering  (B) before the import can
  56.        begin.
  57.  
  58.        CHANGING FROM V1.nn to V2.nn SERVERS
  59.        ====================================
  60.        If you are not running my version 1.nn servers please skip this section
  61.        and go on to BASIC INSTALLATION.
  62.  
  63.        The  new  servers  do  not  require the entries in BBS.SYS, CRON.SYS or
  64.        FORWARD.SYS that were  used  before.   Accordingly,  remove  the  words
  65.        REQDIR,  REQFIL  and FNDFIL from BBS.SYS.  Be careful not to remove the
  66.        complete line.  For example, if your BBS.SYS showed :-
  67.  
  68.        .
  69.        40 REQDIR
  70.        41 REQFIL
  71.        42 FNDFIL
  72.        .
  73.  
  74.        it should now show :-
  75.  
  76.        .
  77.        40
  78.        41
  79.        42
  80.        .
  81.  
  82.        Next, remove the lines from CRON.SYS which refer to running the REQDIR,
  83.        REQFIL and FNDFIL programs.  Finally, remove the lines from FORWARD.SYS
  84.        which deal with the exporting of messages addressed to  REQDIR,  REQFIL
  85.        and FNDFIL to disk.
  86.  
  87.        Don't  forget  to delete the old versions of REQDIR.EXE, REQFIL.EXE and
  88.        FNDFIL.EXE from your hard disk.
  89.  
  90.        And  most  importantly,  make  all  your changes to system files with a
  91.        plain ASCII text editor.  Do not use a word processor which might place
  92.        embedded control codes in the text and beware of  those  that  place  a
  93.        CONTROL Z or end of file marker at the end of the text.
  94.  
  95.  
  96.  
  97.        BASIC INSTALLATION
  98.        ==================
  99.        This section tells you how to install the servers and get them working.
  100.        All the smart actions and  SysOp  configurable  text  will  be  covered
  101.        later.
  102.  
  103.        1.  Take the BBS completely off line.
  104.  
  105.        2.  Make a backup of your new server distribution disk.
  106.  
  107.        3.  Copy the new versions of REQDIR.EXE, REQFIL.EXE and FNDFIL.EXE from
  108.        the  distribution  disk  to  whichever directory you run your BBS from.
  109.        This will normally be C:\FBB or perhaps C:\FBB\BIN.  This should be the
  110.        same directory that contains INIT.SRV, as the programs need  to  access
  111.        that file.  Delete ALL previous versions of these servers from both the
  112.        FBB and BIN directories.
  113.  
  114.        4.  Edit INIT.SRV to include the new  servers.   Near  to  the  end  of
  115.        INIT.SRV  is a section where the servers that are called by the BBS are
  116.        listed.  Add lines similar to the following :-
  117.  
  118.        #Liste des services :
  119.        #
  120.        #
  121.        #Desti  Nom du programme  Description
  122.        #
  123.        REQDIR  C:\FBB\REQDIR.EXE  REQuest DIRectory server
  124.        REQFIL  C:\FBB\REQFIL.EXE  REQuset FILe server
  125.        FNDFIL  C:\FBB\FNDFIL.EXE  FiND FILe server
  126.        #
  127.        #
  128.        #
  129.  
  130.        There  may  be other servers listed here. Ensure that there is only one
  131.        line referring to each of the servers.  This listing will be shown when
  132.        the PS command is entered at the BBS prompt.
  133.  
  134.        At this point it is worthwhile checking the line which deals  with  the
  135.        drives available to the user.
  136.  
  137.        From V5.14d, FBB allows up to eight (A  to  H)  real  or  virtual  disk
  138.        drives  or  sub-directories  to  be  defined  by the SysOp.  There is a
  139.        replacement line in INIT.SRV which defines this.
  140.        Here is an example :-
  141.  
  142.        # Directories utilisateurs (C: D: E: etc)
  143.        *,*,D:\FBB\USERS\,C:\DOCS\    or    * * D:\FBB\USERS\ C:\DOCS\
  144.  
  145.        In this example (an asterisk means unavailable drive), drives a: and b:
  146.        are not used or available.  It is important at this  point  to  realise
  147.        that  a:  and  b: do NOT refer to REAL drives a: and b:.  They could be
  148.        defined as any drive and path.  Moving along  the  line,  drive  c:  is
  149.        really D:\FBB\USERS\ and drive d: is C:\DOCS\.
  150.  
  151.        This means that if a user connects to the BBS, enters DOS and types C:,
  152.        he  will really be in the D:\FBB\USERS\ sub directory.  Likewise, if he
  153.        sends a REQDIR, REQFIL or FNDFIL message to D:\, the C:\DOCS\ area will
  154.        be used.  In this way, you can make a user believe  that  he  is  in  a
  155.        real drive, when in fact he is in a sub directory of your choice.
  156.  
  157.        In the above example, only two drives have  been  defined,  but  up  to
  158.        eight  may  be  used.   All  leading  drives  that are not used must be
  159.        replaced by an asterisk, but those after used drives may be  left  out.
  160.        Thus, the line :-
  161.  
  162.        *,*,D:\FBB\USERS\,C:\DOCS,*,*,*,*
  163.  
  164.        is identical to the examples above.
  165.  
  166.        You may use either commas or spaces between the drive  entries  but  do
  167.        not place a trailing comma at the end of the line by mistake.  If using
  168.        asterisks, ensure the is no phantom space before the carriage ruturn at
  169.        the end of the line.
  170.  
  171.        PROGRAM ACTION
  172.        ==============
  173.        The  servers  generate  messages for the senders of requests, either in
  174.        the form of the requested data or messages offering advice if they have
  175.        their input wrong.  These responses are contained  within  the  program
  176.        but  may  be overridden by SysOp configurable text in the form of ASCII
  177.        files.  These will be detailed later.
  178.  
  179.        In  the  event  that a SysOp configuration error is made or the program
  180.        cannot access an essential system file, it will abort  without  causing
  181.        any detrimental effect to the normal BBS operation.
  182.  
  183.        If  you would like to report some strange happening to me, please quote
  184.        the version number of the software.  You can see this by typing REQDIR,
  185.        REQFIL or FNDFIL from a DOS prompt, without adding any other text.
  186.  
  187.  
  188.  
  189.        ADVANCED INSTALLATION AND OPERATION
  190.        ===================================
  191.        Each  of  the  three servers may provide advanced facilities if you add
  192.        some extra ASCII files in the same directory or DOS path as the  server
  193.        programs.  If  these  files  do not exist, default operation will occur
  194.        and all responses contained within the program code will be used.
  195.  
  196.        The three servers have different facilities  and  will  be  dealt  with
  197.        separately.
  198.  
  199.        [REQDIR.EXE] - (REQDIR.LBL)
  200.        One  of  the main changes to REQDIR is the ability to send the user the
  201.        FBB labels with his directory listing.  These are the labels  that  are
  202.        shown  when a live user issues the LIST command.  In order to make this
  203.        aspect work, you must create an ASCII  file  called  REQDIR.LBL.   This
  204.        file contains the full paths on your hard disk for which labels will be
  205.        sent.  Here is an example :-
  206.  
  207.        D:\USERS\SOFTWARE.WCS\
  208.        D:\USERS\NWPUG\
  209.        D:\USERS\GENERAL\
  210.  
  211.        Please  note  that  these are the REAL paths on your hard disk, not the
  212.        pseudo paths entered by the user as part of his request.  Don't  forget
  213.        the  trailing  slashes.   A further example file is on the distribution
  214.        disk.
  215.  
  216.        In the above example, any REQDIR  for  one  of  the  three  directories
  217.        listed  will  result  in  the reply message containing labels, provided
  218.        they exist.  If a REQDIR is made for a different directory, the  return
  219.        message  will  be a conventional REQDIR four column file listing.  This
  220.        will also be the case if the file REQDIR.LBL does not exist.
  221.  
  222.        From the above, you can see that it is possible to fully customise your
  223.        system and provide a labelled listing for any directory you wish.
  224.  
  225.        [REQDIR] - (REQDIR.ERR)
  226.        If this file exists, the text will be sent  to  a  user  who  does  not
  227.        provide  a  title containing any drive, path or wild-card.  As with all
  228.        of these ASCII files, the program's default text will be sent  if  they
  229.        do not exist.  An example file of this and all the other ASCII files is
  230.        contained on the distribution disk.
  231.  
  232.        [REQDIR]  -  (REQDIR.DRV)
  233.        If this file exists, the text will be sent to a user who  specifies  an
  234.        invalid or out of range disk drive.
  235.  
  236.        [REQDIR] - (REQDIR.HLP)
  237.        If  this  file  exists,  the  text  will  be sent to a user following a
  238.        successful REQDIR operation.
  239.  
  240.  
  241.        [REQFIL] - (REQFIL.ERR)
  242.        If this file exists, the text will be sent  to  a  user  who  does  not
  243.        provide a title containing any drive, path or wild-card.
  244.  
  245.        [REQFIL] - (REQFIL.DRV)
  246.        If  this  file exists, the text will be sent to a user who specifies an
  247.        invalid or out of range disk drive.
  248.  
  249.        [REQFIL] - (REQFIL.HLP)
  250.        If this file exists, the text will be sent to a user who has  specified
  251.        an incorrect path or filename.
  252.  
  253.        [REQFIL] - (REQFIL.DWN)
  254.        If  this  file  exists,  the  text will be sent after a REQFIL has been
  255.        completed.  Such a file could just contain one line, such as :-
  256.  
  257.        [*** Downloaded from GB7CHS ***]
  258.  
  259.        or could contain several lines, for example :-
  260.  
  261.        [Thank you for downloading this file from GB7CHS]
  262.        [Please consider uploading something for the]
  263.        [benefit of other users.  73, G3WCS SysOp]
  264.  
  265.        Obviously, the square brackets above are cosmetic.
  266.  
  267.        If  REQFIL.DWN  does  not  exist, nothing is appended to the end of the
  268.        user's REQFIL.
  269.  
  270.  
  271.        [FNDFIL] - (FNDFIL.ERR)
  272.        If this file exists, the text will be sent  to  a  user  who  does  not
  273.        provide a title containing any drive, path or wild-card.
  274.  
  275.        [FNDFIL] - (FNDFIL.DRV)
  276.        If  this  file exists, the text will be sent to a user who specifies an
  277.        invalid or out of range disk drive.
  278.  
  279.        [FNDFIL] - (FNDFIL.HLP)
  280.        If this file exists, the text will be sent to a user whose request  has
  281.        produced a satisfactory response.
  282.  
  283.        [FNDFIL] - (FNDFIL.NIL)
  284.        If  this file exists, the text will be sent to a user whose request was
  285.        basically correct in DOS terms, but has not found any matching files.
  286.  
  287.  
  288.        [ALL THREE SERVERS] - (SALUT.SYS)
  289.        This is the only text file to be read by  all  three  servers.   If  it
  290.        exists,  the  text  will  replace  the  SysOp  salutations sent by each
  291.        server.  In my case it would replace  the  following  text,  which  was
  292.        originally read from INIT.SRV :-
  293.  
  294.        Best 73,
  295.  
  296.  
  297.        Ken G3WCS
  298.        SysOp GB7CHS.
  299.  
  300.  
  301.        REPLY MESSAGE SIZE
  302.        ==================
  303.        One major change to REQFIL and REQDIR is that the reply message size is
  304.        checked.  In the case of REQFIL, if the file exceeds approx 4 Kb,  each
  305.        chunk  will  be  sent as a separate message. One great SysOp benefit is
  306.        that he no longer has to manually break up files into  small  sections.
  307.        The server will do that automatically.
  308.  
  309.        The REQDIR server will generate separate reply messages if  the  number
  310.        of  files  with  labels exceeds 80, in the case of a labelled reply, or
  311.        exceeds 112, in the case of a conventional directory listing.
  312.  
  313.        I hope that this new facility will save SysOp's the problem  of  having
  314.        to  split  up  long  files.   The  maximum  number of files that may be
  315.        contained in any one directory is 255.
  316.  
  317.  
  318.  
  319.        TECHNIQUE
  320.        =========
  321.        Obviously, the tailoring of personal responses can be  as  detailed  or
  322.        brief as you care to make them.  In this way you can make your BBS very
  323.        personalised.   If,  for example, you did not wish your BBS to send any
  324.        information, not even the default program details, you could create the
  325.        files listed above and simply make each one a blank line !!
  326.  
  327.        The servers are coded in Turbo C++ which is a very fast  language,  but
  328.        it  cannot  compensate for an overloaded XT or slow hard disk.  This is
  329.        especially important in the case of the FNDFIL server which  must  read
  330.        every  character  of every line of every file in a given directory.  If
  331.        you have a slow system you should give consideration  to  splitting  up
  332.        your  file  directories  into small sub-directories, each with a lesser
  333.        number of files.
  334.  
  335.        These servers do not require a great deal of memory in  which  to  run.
  336.        Your  free  memory  can  be  determined by the Ok: nnnnnn figure on the
  337.        status line.  From my experience it is better not  to  let  this  value
  338.        fall  below  100 Kb.  Although these servers will work quite happily in
  339.        less, there are many servers of different types that will not.
  340.  
  341.        WHY CHANGES ?
  342.        =============
  343.        The reason that I have moved away from CRON.SYS operated servers is due
  344.        to  popular  request.   Most SysOps now want a server to run, produce a
  345.        result and complete operation  immediately.   The  thing  that  finally
  346.        convinced  me  to  change  technique  was  the  new  FBB "message hold"
  347.        facility.  Using this facility within the REJET.SYS file, it  would  be
  348.        possible  to  hold  all  outgoing messages from your BBS until you were
  349.        there to release them.  Unfortunately, at present, FBB  will  not  hold
  350.        incomming messages addressed to a server defined in INIT.SRV.
  351.  
  352.  
  353.        USER HELP
  354.        =========
  355.        The  format  of user input messages is contained in the other textfiles
  356.        supplied with this distribution.  They are written separately in  order
  357.        that they may be placed in a files area on your BBS or sent via packet.
  358.  
  359.  
  360.  
  361.        PASSING THEM ON
  362.        ===============
  363.        These  programs are released into the public domain and you are free to
  364.        pass them on to others, provided no charge either material  or  implied
  365.        is  levied.  My only stipulation is that the original archive is handed
  366.        on.  This is to ensure that new users will not only have  the  required
  367.        documentation  but  also  that  it  will  be  current and not from some
  368.        superceded package.
  369.  
  370.        Software passed on in contravention of the above will not be supported.
  371.  
  372.  
  373.  
  374.        FINALLY
  375.        =======
  376.        Please report any problems or strange happenings to me by packet radio.
  377.        Any constructive suggestions as to how  to  improve  the  programs  are
  378.        always welcome.
  379.  
  380.  
  381.        Ken Wood G3WCS.
  382.        SysOp GB7CHS.#11.GBR.EU
  383.        Cheshire NTS Mailbox.
  384.  
  385.        Modem Port - 0606 892326
  386.        Outside UK - +44 606 892326
  387.  
  388.        V 2.05 - 18th September 1992
  389.  
  390.        SYSOP.DOC
  391.  
  392.  
  393.